/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ManagersUI;

import java.io.IOException;
import java.util.logging.*;
import javafx.fxml.FXMLLoader;
import javafx.scene.*;
import ControladoresUI.LoginController;
import ControladoresUI.UsuariosController;
import ControladoresUI.VentanaPrincipalController;
import Entidades.Tipousuario;
import Entidades.Usuario;
import javafx.scene.layout.HBox;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

/**
 *
 * @author JEscalante
 */
public class UsuariosManager {
    private Scene scene;
    private Stage stage;
    public Parent root;
    public HBox pnlPrincipal;
    public UsuariosManager(Scene scene, Stage stage) {
        this.scene = scene;
        this.stage = stage;
    }
  /*  public void abrirPanelUsuarios(Usuario usuario){
        try {
            FXMLLoader loader = new FXMLLoader(getClass().getResource("/VistasUI/pnlUsuarios.fxml"));
            scene.setRoot((Parent) loader.load());
            UsuariosController controller = loader.<UsuariosController>getController();
            controller.initManager(this, usuario);
        } catch (IOException ex) {
            Logger.getLogger(UsuariosManager.class.getName()).log(Level.SEVERE, null, ex);
        }
    }*/
    public void abrirPanelUsuarios(Usuario usuario){
        try {
            FXMLLoader loader = new FXMLLoader(getClass().getResource("/VistasUI/pnlUsuarios.fxml"));
            root = (Parent) loader.load();
            UsuariosController controller = loader.<UsuariosController>getController();
            controller.initManager(this, usuario);
        } catch (IOException ex) {
            Logger.getLogger(UsuariosManager.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    public void showPnlUsuariosInicio(Usuario usuario){
        Parent root = null;
        UsuariosInicioManager usuariosInicioManager = new UsuariosInicioManager(scene,stage, this);
        usuariosInicioManager.abrirPanelUsuariosInicio(usuario);
        root = usuariosInicioManager.root;
        
        if(pnlPrincipal.getChildren().size()>1)
            pnlPrincipal.getChildren().remove(1);
        //this.ventanaManager.showPnlUsuarios(Usuario);
        pnlPrincipal.getChildren().add(root);
    }
    public void showPnlTiposUsuarioInicio(){
        Parent root = null;
        TiposUsuarioInicioManager tiposUsuarioInicioManager = new TiposUsuarioInicioManager(scene,stage,this);
        tiposUsuarioInicioManager.abrirPanelTiposUsuarioInicio();
        root = tiposUsuarioInicioManager.root;
        
        if(pnlPrincipal.getChildren().size()>1)
            pnlPrincipal.getChildren().remove(1);
        //this.ventanaManager.showPnlUsuarios(Usuario);
        pnlPrincipal.getChildren().add(root);
    }
    public void showPnlUsuariosRegistro(Usuario usuario){
        Parent root = null;
        UsuariosRegistroManager usuariosRegistroManager = new UsuariosRegistroManager(scene,stage,this);
        usuariosRegistroManager.abrirPanelUsuariosRegistro(usuario);
        root = usuariosRegistroManager.root;
        
        if(pnlPrincipal.getChildren().size()>1)
            pnlPrincipal.getChildren().remove(1);
        //this.ventanaManager.showPnlUsuarios(Usuario);
        pnlPrincipal.getChildren().add(root);
    }
    public void showPnlUsuariosModificar(Usuario usuario){
        Parent root = null;
        UsuariosModificarManager usuariosModificarManager = new UsuariosModificarManager(scene,stage,this);
        usuariosModificarManager.abrirPanelUsuariosModificar(usuario);
        root = usuariosModificarManager.root;
        
        if(pnlPrincipal.getChildren().size()>1)
            pnlPrincipal.getChildren().remove(1);
        //this.ventanaManager.showPnlUsuarios(Usuario);
        pnlPrincipal.getChildren().add(root);
    }
    public void showPnlTiposUsuarioModificar(Tipousuario registro){
        Parent root = null;
        TiposUsuarioModificarManager tiposUsuarioModificarManager = new TiposUsuarioModificarManager(scene,stage,this);
        tiposUsuarioModificarManager.abrirPanelTiposUsuarioModificar(registro);
        root = tiposUsuarioModificarManager.root;
        
        if(pnlPrincipal.getChildren().size()>1)
            pnlPrincipal.getChildren().remove(1);
        //this.ventanaManager.showPnlUsuarios(Usuario);
        pnlPrincipal.getChildren().add(root);
    }
    public void showPnlAjustesCuentaInicio(Usuario usuario){
        Parent root = null;
        AjustesCuentaInicioManager ajustesCuentaInicioManager = new AjustesCuentaInicioManager(scene,stage,this);
        ajustesCuentaInicioManager.abrirPanelAjustesCuentaInicio(usuario);
        root = ajustesCuentaInicioManager.root;
        
        if(pnlPrincipal.getChildren().size()>1)
            pnlPrincipal.getChildren().remove(1);
        pnlPrincipal.getChildren().add(root);
    }
}
